<?php
/**
 * 预定流程类
 * @author Administrator
 *
 */
class orderAction extends globalAction {
	/**
	 * 预定第一步界面,
	 */
	function view1(){
		$hid=$_REQUEST["hid"];//客栈id
		$rid=$_REQUEST["rid"];//房型id
		
		
		//die(__USERID__);
		
		
		//初始化判断
		if(!is_numeric($hid)) die("客栈id不能为空");
		if(!is_numeric($rid)) die("客型id不能为空");
		
		$mr=M("order");
		//获取客栈和房型信息
		
		$sql='select * from '.DQ.'hotel where hotel0='.$hid;
		$hotelrs=$mr->query($sql);
		
		
		//获取房型列表
		$sql='select * from '.DQ.'hotelroom where hotelroom2='.$hid.' order by hotelroom18 desc';
		$roomrs=$mr->query($sql);
		
		
		
		//初始化一些值
		
		$tconfig=array(
			"startdate"=>date("Y-m-d"),
			"enddate"=>date("Y-m-d",time()+2*3600*24)
		);
		
		$this->assign("roomrs",$roomrs);
		$this->assign("hotelrs",$hotelrs[0]);
		$this->assign("tconfig",$tconfig);
		$this->display();
	}
	
	/**
	 * 下订单的第二步
	 */
	function view2(){
		
		$checkcode=$_REQUEST["checkcode"];//验证码
		
		if($_SESSION['verify'] != md5($_POST['verify'])) {
		 	alert("", 1, "验证码错误，请返回重填");
		 }
		
		//if(!is_numeric($_REQUEST["orderjingje"])) alert("", 1, "选择参数出错，请重新选择后提交");
		 
		//获取初始值
		/**
		$rid=$_REQUEST["roomtypeid"];//房型id
		$hid=$_REQUEST["hid"];//客栈id
		$croomnum=$_REQUEST["croomnum"];//房间数量
		$chengrens=$_REQUEST["chengrens"];//成人数
		$didianshijian=$_REQUEST["didianshijian"];//抵店时间
		$startdate=$_REQUEST["startdate"];//入住日期
		$enddate=$_REQUEST["enddate"];//离店时间
		$useremail=$_REQUEST["useremail"];//用户邮箱
		$username=$_REQUEST["username"];//预定用户名
		$zhuname=$_REQUEST["zhuname"];//入住用户名
		$formarea=$_REQUEST["formarea"];//来自区域
		$tel=$_REQUEST["tel"];//电话
		$othersuom=$_REQUEST["othersuom"];//其它说明
		$duihuanje=$_REQUEST["duihuanje"];//兑换金额
		$isduihuan=$_REQUEST["isduihuan"];//是否兑换
		$orderjingje=$_REQUEST["orderjingje"];//计算后的价
		$_REQUEST["zfbl"];//支付比例,最大为100表示全额
		
		*/
		//获取初始值
		if($_REQUEST["zfbl"]>100) $_REQUEST["zfbl"]=100;
		$str="";
		if(!is_numeric($_REQUEST["hid"])) $str="客栈id号不对，请返回";
		if(!is_numeric($_REQUEST["roomtypeid"])) $str="房型id不对，请返回";
		
		if(getsubstr($_REQUEST["startdate"], "/^[\d]{4}\-[\d]{1,2}\-[\d]{1,2}$/")=="") $str="你没有填写正确的入住日期，请返回";
		if(getsubstr($_REQUEST["enddate"], "/^[\d]{4}\-[\d]{1,2}\-[\d]{1,2}$/")=="") $str="你没有填写正确的离店日期，请返回";
		if(getsubstr($_REQUEST["useremail"], "/^[\w\-\_\.]+@[\w\-\_\.]+[\w]+$/")=="") $str="你没有填写正确的电子邮件，请返回";
		//if($str!="") alert("", 1, $str);//暂时不启用验证，方便开发
		
		global $SYS_config;
		$mr=M("order");
		
		//获取房型名称
		$sql="select hotelroom1,hotelroom16 from ".DQ."hotelroom where hotelroom0=".$_REQUEST["roomtypeid"];
		$roomrs=$mr->query($sql);
		
		
		//获取客栈标题
		$sql="select hotel1 from ".DQ."hotel where hotel0=".$_REQUEST["hid"];
		$hotelrs=$mr->query($sql);
		if($hotelrs) $this->assign("hotelrs",$hotelrs[0]);
		
		
		
		//订单内容
		$content="<b>预定人姓名</b>:".$_REQUEST["username"]."<br>";
		$content.="<b>入住人姓名</b>:".$_REQUEST["zhuname"]."<br>";
		$content.="<b>来自</b>:".$_REQUEST["formarea"]."<br>";
		$content.="<b>联系电话</b>:".$_REQUEST["tel"]."<br>";
		$content.="<b>到店时间</b>:".$_REQUEST["didianshijian"]."<br>";
		if($roomrs) $content.="<b>预定的房型</b>:".$roomrs[0]["hotelroom1"]."<br>";
		if($_REQUEST["isduihuan"]=="1") $content.="<b>您已使用积分(".$_REQUEST["duihuanje"]*$SYS_config["xfsjfnumdy1jenum"].")兑换了人民币</b>:".$_REQUEST["duihuanje"]."元<br>";
		$content.="<b>预定房间数量</b>:".$_REQUEST["croomnum"]."<br>";
		$content.="<b>其它说明</b>:".$_REQUEST["othersuom"]."<br>";
		
		
		
		
		//生成订单信息
		$data=array();
		$data["orderform1"]=$_REQUEST["hid"];
		$data["orderform31"]=$_REQUEST["roomtypeid"];
		$data["orderform7"]=__USERID__;
		$data["orderform4"]=$hotelrs[0]["hotel1"];
		$data["orderform5"]=$_REQUEST["username"];
		$data["orderform6"]=time();//下单时间
		$data["orderform8"]=$_REQUEST["chengrens"];
		
		$data["orderform9"]=strtotime($_REQUEST["startdate"]);
		$data["orderform30"]=strtotime($_REQUEST["enddate"]);
		$data["orderform16"]=$_REQUEST["orderjingje"];//总金额
		$data["orderform33"]=$_REQUEST["duihuanje"];//兑换金额
		
		$data["orderform17"]=(int)($data["orderform16"]*$_REQUEST["zfbl"]/100);//订金金额
		$data["orderform18"]=time()+3600*$SYS_config["tiqianzftime"];//订金支付期限
		$data["orderform19"]=$data["orderform16"]-$data["orderform17"];//余款金额
		$data["orderform20"]=time()+3600*$SYS_config["tiqianzftime"];//余款支付期限
		$data["orderform26"]=$_REQUEST["useremail"];
		$data["orderform31"]=$_REQUEST["roomtypeid"];
		$data["orderform34"]=$_REQUEST["croomnum"];
		$data["orderform35"]=($roomrs[0]["hotelroom16"]=="5757")?"非":"即";
		$data["orderform10"]=$content;//订单内容
		//$data["proname"]=$_REQUEST["proname"];
		$data["orderform2"]=618;
		
		$ordermr=A("Inn/orderform");
		$orderno=$ordermr->addorder($data);//生成订单
		//$orderno="H99999999";
		
		
	
		
		
		
		//构建支付信息
		$paytype=A("Home/paytype");
		
		$paytypehtm=array();
		//转帐支付
		$paytypehtm["zhuangzhangrmb"]=$paytype->zhuangzhangrmb();
		
		//支付宝
		$arr["out_trade_no"]=$orderno;// str商户的订单号  
	 	$arr["aliorder"]="预定梦之旅产品--".$hotelrs[0]["hotel1"]; //订单名称，显示在支付宝收银台里的“商品名称”里，显示在支付宝的交易管理的“商品名称”的列表里。
	  	$arr["alibody"]="预定梦之旅产品--".$hotelrs[0]["hotel1"]."的".$roomrs[0]["hotelroom1"].",入住时间:".$_REQUEST["startdate"]; //订单描述、订单详细、订单备注，显示在支付宝收银台里的“商品描述”里
	  	$arr["alimoney"]=$data["orderform17"];// 订单总金额，显示在支付宝收银台里的“应付总额”里
	  	$arr["jetype"]="a";//支付定金
		$paytypehtm["alipay"]=$paytype->alipay($arr);
		
		//中国信用卡
		unset($arr);
		$arr["pMerCode"]=$orderno; //订单号
		$arr["pAmount"]=$data["orderform17"];// 金额
	    $arr["pAttach"]="预定梦之旅产品--".$hotelrs[0]["hotel1"]."的".$roomrs[0]["hotelroom1"].",入住时间:".$_REQUEST["startdate"]; //订单描述、订单详细、订单备注，显示在支付宝收银台里的“商品描述”里
	    $arr["pGoodsInfo"]= "预定梦之旅产品--".$hotelrs[0]["hotel1"]; //订单名称，显示在支付宝收银台里的“商品名称”里，显示在支付宝的交易管理的“商品名称”的列表里。
		$paytypehtm["CardOnlineRmb"]=$paytype->CardOnlineRmb();
		
		

		$this->assign("data",$data);
		$this->assign("orderno",$orderno);
		$this->assign("roomrs",$roomrs[0]);
		$this->assign("paytypehtm",$paytypehtm);//支付页面
		$this->assign("telphone",str_replace("-", "", $_REQUEST["tel"]));
		$this->assign("kezhanname",preg_replace("/[\-\"\/]/", "", $hotelrs[0]["hotel1"]));
		$this->display();
		
	}
	/**
	 * 当用户下单后，再点击确认要这个订单，这时才发送短息和电子邮件，并更新标识
	 */
	function yudingqueren(){
		$orderno=$_REQUEST["orderno"];//订单号
		$uid=$_REQUEST["uid"];//用户id
		$n=$_REQUEST["n"];//兑换的金额
		$pid=$_REQUEST["pid"];//预定的客栈ID
		$pname=$_REQUEST["pname"];//客栈名称
		$tomail=$_REQUEST["tomail"];//要发送的邮件
		
		if(getsubstr($orderno, "/^H[\d]+$/")=="") die("pass1");
		if(getsubstr($_REQUEST["tel"], "/^1[\d]{10}$/")=="") die("pass2");
		if(!is_numeric($uid)) die("pass3");
		if(!is_numeric($n)) die("pass4");
		
		
		$mr=M("order");
		$sql="update ".DQ."orderform set orderform36=1 where orderform3='".$orderno."'";
		$rs=$mr->execute($sql);
		if($rs){
			
			global $SYS_config;
			 //预定成功，发送短息.
			$smsa=A("Home/sms");
			$dsmsata["phoneno"]=$_REQUEST["tel"];
			$dsmsata["content"]="您的预定已经下单成功，订单号为:".$orderno.",请登陆您的会员中心查询";
			//$smsa->senddx($dsmsata);//正式上线后才启用短息发送功能
			
			
			require_once RootDir."/inc/MailClass.php";
			$mailc=file_get_contents($SYS_config["siteurl"]."/sendmail/createinnorderhtml-orderno-".$orderno);
		 	echo(sendmymail($tomail,"梦之旅","你的订单下单成功",$mailc))?" mailsendsuss":" mainsendpass";
		 		
			
			$temp=$SYS_config["xfsjfnumdy1jenum"]*$n;
			if($temp>0) uc_credit_exchange_request($uid, 1, 1, 1, -$temp);
			if(__USERNAME__) uc_feed_add("album",$uid,__USERNAME__,"","{actor} 有新活动了","预定了客栈: $pname ，快来围观!","","","",array());
			
		
		}else{
			echo "失败";
		}
	}
	
	function test(){
		 $str="php python pear";
		 echo getsubstr($str,"/\bp(?!h)\w+\b/");
	}
	
}

?>